آموزش جامع برنامه نویسی پایتون [ویدئویی] - آخرین آپدیت

دانلود Learn to Code with Python [Video]

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: این دوره با مبانی پایتون آغاز می‌شود و شامل نصب و راه‌اندازی برای هر دو سیستم‌عامل macOS و ویندوز است. شما مفاهیم اصلی برنامه‌نویسی مانند متغیرها، توابع و جریان‌های کنترلی و همچنین نحوه کار با رشته‌ها و ساختارهای داده مانند لیست‌ها، تاپل‌ها، مجموعه‌ها و دیکشنری‌ها را خواهید آموخت. این مهارت‌های بنیادی، شما را برای موفقیت در مباحث پیشرفته‌تر در ادامه دوره آماده می‌کند. با پیشروی در دوره، وارد دنیای برنامه‌نویسی شی‌گرا (OOP) می‌شوید و یاد می‌گیرید که چگونه کلاس‌ها را تعریف کنید، اشیاء بسازید و با ارث‌بری و متدهای جادویی کار کنید. در کنار تسلط بر تکنیک‌های دیباگینگ، استخراج داده از وب (Web Scraping) با Scrapy و ضروریات تست واحد (Unit Testing) را بررسی خواهید کرد. این دروس عملی تضمین می‌کنند که شما برای چالش‌های برنامه‌نویسی در دنیای واقعی کاملاً آماده باشید. بخش‌های نهایی دوره با رویکردی پروژه-محور، همه آموخته‌ها را یکپارچه می‌کند؛ جایی که شما یک بازی پوکر تگزاس هولدم را با استفاده از اصول OOP خواهید ساخت. این پروژه به شما اجازه می‌دهد تا هر آنچه آموخته‌اید را به کار ببندید و مفاهیم کلیدی را تقویت کنید. در پایان دوره، شما در ساخت، تست و استقرار اپلیکیشن‌های پایتون اعتماد به نفس خواهید داشت و آماده رویارویی با وظایف پیچیده توسعه نرم‌افزاری خواهید بود. نصب و پیکربندی پایتون در macOS و ویندوز ایجاد و مدیریت متغیرها، توابع و انواع داده‌ها پیاده‌سازی برنامه‌نویسی شی‌گرا با استفاده از کلاس‌ها و ارث‌بری نوشتن و تست کدهای پایتون با ابزارهای دیباگینگ ساخت اپلیکیشن‌های واقعی مانند بازی پوکر تگزاس هولدم استخراج داده از وب‌سایت‌ها و تجزیه داده‌ها با فریم‌ورک Scrapy این دوره برای هر کسی که می‌خواهد پایتون را از صفر یاد بگیرد عالی است. ایده‌آل برای مبتدیان در برنامه‌نویسی، توسعه‌دهندگانی که قصد انتقال به پایتون را دارند یا هر کسی که مشتاق توسعه مهارت‌های قوی برنامه‌نویسی است. هیچ پیش‌نیاز رسمی وجود ندارد، هرچند آشنایی با عملیات پایه کامپیوتر (مانند استفاده از ترمینال) مفید خواهد بود. سرفصل جامع پایتون از مبانی تا مفاهیم پیشرفته * پروژه‌های واقعی، از جمله ساخت بازی پوکر تگزاس هولدم * تمرینات کدنویسی عملی با بازخورد فوری برای تقویت مهارت‌ها

سرفصل ها و درس ها

معرفی دوره Course Introduction

  • ویدئوی معرفی Promo Video

راه‌اندازی و مقدمات Setup & Introduction

  • خوش‌آمدگویی به زبان برنامه‌نویسی پایتون Welcome to the Python Programming Language

  • دانلود فایل‌های دوره Download Course Files

  • macOS: استفاده از ترمینال برای ارسال دستورات به سیستم‌عامل macOS - Use the Terminal to Issue Commands to Your Operating System

  • macOS: دانلود و نصب پایتون 3 macOS - Download and Install Python 3

  • macOS: دانلود و نصب Visual Studio Code macOS - Download and Install Visual Studio Code

  • Windows: استفاده از Command Prompt برای ارسال دستورات به سیستم‌عامل Windows - Use the Command Prompt to Issue Commands to Your Operating System

  • Windows: دانلود و نصب پایتون 3 Windows - Download and Install Python 3

  • Windows: دانلود و نصب Visual Studio Code Windows - Download and Install Visual Studio Code

  • macOS و Windows: نصب پلاگین‌های VSCode macOS + Windows - Installing VSCode Plugins

  • macOS و Windows: پیکربندی تنظیمات پروژه در VSCode macOS + Windows - Configuring VSCode Project Settings

  • macOS: اجرای فایل پایتون macOS - Run Python File

  • Windows: اجرای فایل پایتون Windows - Run Python File

  • رابط کاربری Visual Studio Code و میانبرهای مفید The Visual Studio Code (VSCode) Interface and Helpful Shortcuts

  • محیط تعاملی (REPL) The Interactive Prompt (REPL)

  • اختیاری: سخنان انگیزشی OPTIONAL: Words of Motivation

به دنیای پایتون خوش آمدید Welcome to Python

  • اشیاء: رشته‌ها Objects: Strings

  • مقدمه‌ای بر توابع Intro to Functions

  • تابع print بخش اول: خروجی یک آرگومان The print Function I: Outputting a Single Argument

  • تابع print بخش دوم: خروجی چندین آرگومان The print Function II: Outputting Multiple Arguments

  • تابع print بخش سوم: پارامترها و آرگومان‌ها The print Function III: Parameters and Arguments

  • کامنت‌ها Comments

  • پاسخ تمرین کدنویسی: چاپ متن با تابع print Coding Exercise SOLUTION: Outputting Text with the print Function

اعداد، مقادیر بولی و تساوی Numbers, Booleans and Equality

  • عبارات ریاضی Mathematical Expressions

  • تقسیم، تقسیم صحیح و عملگر باقی‌مانده (Modulo) Division, Floor Division, and the Modulo Operator

  • نوع داده بولی، عملگر تساوی (==) و عملگر نابرابری (!=) The Boolean Data Type, The Equality Operator (==) and Inequality Operator (!=)

  • عملگرهای ریاضی بولی Boolean Mathematical Operators

  • تابع type The type Function

  • تبدیل نوع با توابع int، float و str Type Conversion with the int, float, and str Functions

متغیرها Variables

  • مقدمه‌ای بر متغیرها Intro to Variables

  • پاسخ تمرین کدنویسی: تعریف متغیرها Coding Exercise SOLUTION: Declaring Variables

  • تخصیص مقادیر به چندین متغیر Multiple Variable Assignments

  • عملگرهای تخصیص ترکیبی Augmented Assignment Operator

  • دریافت ورودی کاربر با تابع input Collecting User Input with the input Function

  • استثناهای NameError، ValueError، TypeError و SyntaxError The NameError, ValueError, TypeError and SyntaxError Exceptions

توابع Functions

  • مقدمه‌ای بر توابع Intro to Functions

  • پارامترها و آرگومان‌ها Parameters and Arguments

  • آرگومان‌های موقعیتی و آرگومان‌های کلیدواژه‌ای Positional Arguments and Keyword Arguments

  • تعریف مقادیر بازگشتی برای توابع Declaring Return Values for Functions

  • پاسخ تمرین کدنویسی: مبانی توابع Coding Exercise SOLUTION: The Basics of Functions

  • آرگومان‌های پیش‌فرض Default Arguments

  • پاسخ تمرین کدنویسی: آرگومان‌های پیش‌فرض Coding Exercise SOLUTION: Default Arguments

  • نوع None The None Type

  • بونوس: حاشیه‌نویسی توابع (Annotations) BONUS: Function Annotations

رشته‌ها: مبانی Strings: The Basics

  • طول، الحاق و تغییرناپذیری Length, Concatenation, and Immutability

  • پاسخ تمرین کدنویسی: طول، الحاق و تغییرناپذیری Coding Exercise SOLUTION: Length, Concatenation, and Immutability

  • اندیس‌گذاری رشته با مقادیر مثبت String Indexing with Positive Values

  • اندیس‌گذاری رشته با مقادیر منفی String Indexing with Negative Values

  • پاسخ تمرین کدنویسی: اندیس‌گذاری رشته Coding Exercise SOLUTION: String Indexing

  • برش رشته (Slicing) بخش اول: برش بر اساس محدوده String Slicing I: Slicing by Range

  • برش رشته (Slicing) بخش دوم: برش بر اساس گام String Slicing II: Slicing by Steps

  • پاسخ تمرین کدنویسی: برش رشته Coding Exercise SOLUTION: String Slicing

  • کاراکترهای کنترلی (Escape Characters) Escape Characters

  • عملگرهای in و not in برای بررسی وجود زیررشته در رشته The in and not in Operators for Checking Inclusion of a Substring within a String

  • مرور بخش مبانی رشته‌ها Strings: The Basics Section Review

رشته‌ها: متدها Strings: Methods

  • متدهای find و index The find and index Methods

  • متدهای startswith و endswith The startswith and endswith Methods

  • متد count برای شمارش تکرار یک مقدار در رشته The count Method to Count Occurrences of Value in a String

  • پاسخ تمرین کدنویسی: متدهای find و count Coding Exercise SOLUTION: The find and count Methods

  • متدهای capitalize، title، lower، upper و swapcase برای تغییر حروف The capitalize, title, lower, upper, and swapcase Methods to Change Casing

  • متدهای بولی برای رشته‌ها Boolean Methods for Strings

  • متدهای lstrip، rstrip و strip The lstrip, rstrip, and strip Methods

  • متد replace The replace Method

  • پاسخ تمرین کدنویسی: متدهای پاکسازی رشته Coding Exercise SOLUTION: String Cleanup Methods

  • متد format The format Method

  • رشته‌های فرمت شده (f-strings) Formatted String Literals (f-strings)

جریان کنترل (Control Flow) Control Flow

  • مرور: نوع داده بولی، تساوی و نابرابری REVIEW: The Boolean Data Type, Equality, and Inequality

  • دستور if The if Statement

  • تابع bool (مفاهیم Truthiness و Falsiness) The bool Function (Truthiness and Falsiness)

  • پاسخ تمرین کدنویسی: دستورات if Coding Exercise SOLUTION: if Statements

  • دستور else The else Statement

  • دستور elif The elif Statement

  • پاسخ تمرین کدنویسی: if، else و elif Coding Exercise SOLUTION: if, else and elif

  • عبارات شرطی (معادل عملگر Ternary) Conditional Expressions (Ternary Operator Equivalent)

  • تعریف چندین شرط با کلیدواژه and Declaring Multiple Conditions with the and Keyword

  • تعریف چندین شرط با کلیدواژه or Declaring Multiple Conditions with the or Keyword

  • استفاده از کلیدواژه not برای نفی یک عبارت Using the not Keyword to Negate an Expression

  • دستورات if تو در تو Nested if Statements

  • پاسخ تمرین کدنویسی: چندین شرط Coding Exercise SOLUTION: Multiple Conditions

  • استفاده از حلقه while برای تکرار تا زمانی که شرط درست است Using the while Loop to Iterate While a Condition is True

  • مقدمه‌ای کوتاه بر بازگشت (Recursion) بخش اول A Brief Intro to Recursion I

  • مقدمه‌ای کوتاه بر بازگشت (Recursion) بخش دوم A Brief Intro to Recursion II

  • پاسخ تمرین کدنویسی: بازگشت Coding Exercise SOLUTION: Recursion

لیست‌ها: مبانی Lists: The Basics

  • مقدمه‌ای بر لیست‌ها Intro to Lists

  • پاسخ تمرین کدنویسی: ایجاد لیست‌ها Coding Exercise SOLUTION: Creating Lists

  • عملگرهای in و not in در لیست The in and not in Operators on a List

  • انتخاب عضو لیست با اندیس مثبت یا منفی Select a List Element by Positive or Negative Index Positions

  • پاسخ تمرین کدنویسی: اندیس‌گذاری در لیست Coding Exercise SOLUTION: Indexing into List

  • برش چندین عضو از یک لیست Slice Multiple Elements from a List

  • پاسخ تمرین کدنویسی: برش اعضا Coding Exercise SOLUTION: Slicing Elements

  • پاسخ تمرین کدنویسی: مسائل لیست Coding Exercise SOLUTION: List Problems

لیست‌ها: تکرار (Iteration) Lists: Iteration

  • تکرار با حلقه for Iteration with the For Loop

  • پاسخ تمرین کدنویسی: تکرار در لیست Coding Exercise SOLUTION: List Iteration

  • تکرار با منطق شرطی Iteration with Conditional Logic

  • پاسخ تمرین کدنویسی: تکرار بیشتر در لیست Coding Exercise SOLUTION: More List Iteration

  • تکرار معکوس با تابع reversed Iterate in Reverse with the reversed Function

  • تابع enumerate The enumerate Function

  • پاسخ تمرین کدنویسی: تابع enumerate Coding Exercise SOLUTION: The enumerate Function

  • تابع range The range Function

  • کلیدواژه break The break Keyword

  • کلیدواژه continue The continue Keyword

  • آرگومان‌های خط فرمان با argv Command Line Arguments with argv

دیباگینگ (عیب‌یابی) Debugging

  • مقدمه‌ای بر دیباگینگ در VSCode Intro to Debugging in VSCode

  • Step Over (رد کردن) Step Over

  • Step into و Step Out (ورود و خروج) Step into and Step Out

  • حل یک مسئله با دیباگینگ Working Through a Problem

لیست‌ها: تغییرپذیری (Mutation) Lists: Mutation

  • تخصیص مقدار جدید در یک اندیس Assign New Value at Index Position

  • تخصیص مقادیر جدید به برش لیست Assign New Values to List Slice

  • پاسخ تمرین کدنویسی: بازنویسی اعضا در لیست Coding Exercise SOLUTION: Overwriting Elements in a List

  • متد append و افزودن لیست‌ها با عملگر + The append Method and Adding Lists with + Operator

  • پاسخ تمرین کدنویسی: شرط‌ها، range، enumerate Coding Exercise SOLUTION: Conditionals, Range, Enumerate

  • ساخت یک لیست بر اساس لیست دیگر Building a List Up from Another List

  • پاسخ تمرین کدنویسی: ساخت لیست Coding Exercise SOLUTION: Building a List Up

  • متد extend The extend Method

  • متد insert The insert Method

  • پاسخ تمرین کدنویسی: افزودن اعضا به لیست Coding Exercise SOLUTION: Adding Elements to List

  • متد pop The pop Method

  • کلیدواژه del The del Keyword

  • متد remove The remove Method

  • متد clear The clear Method

  • پاسخ تمرین کدنویسی: حذف اعضا از لیست Coding Exercise SOLUTION: Removing Elements from a List

  • متد reverse The reverse Method

  • متد sort The sort Method

لیست‌ها: متدها Lists: Methods

  • متد count The count Method

  • متد index The index Method

  • پاسخ تمرین کدنویسی: رمزگذاری پیام Coding Exercise SOLUTION: Encrypt Message

  • متد copy The copy Method

  • متد split روی رشته The split Method on a String

  • متد join روی رشته The join Method on a String

  • پاسخ تمرین کدنویسی: متدهای split و join در رشته‌ها Coding Exercise SOLUTION: The split and join Methods on Strings

  • تابع zip The zip Function

  • لیست‌های چندبعدی Multidimensional Lists

  • پاسخ تمرین کدنویسی: لیست‌های چندبعدی Coding Exercise SOLUTION: Multidimensional Lists

  • لیست‌های جامع (List Comprehensions) بخش اول: مبانی List Comprehensions I: The Basics

  • لیست‌های جامع بخش دوم: فیلتر کردن نتایج List Comprehensions II: Filtering Results

  • پاسخ تمرین کدنویسی: لیست‌های جامع Coding Exercise SOLUTION: List Comprehension

توابع داخلی (Built-In) Built-In Functions

  • تابع help The help Function

  • تابع map The map Function

  • تابع filter The filter Function

  • توابع لامبدا (Lambda) Lambda Functions

  • پاسخ تمرین کدنویسی: توابع map، filter و lambda Coding Exercise SOLUTION: map, filter and lambda Functions

  • توابع all و any The all and any Functions

  • توابع max و min The max and min Functions

  • تابع sum The sum Function

  • پاسخ تمرین کدنویسی: تابع sum Coding Exercise SOLUTION: The sum Function

  • تابع dir The dir Function

  • تابع format The format Function

تاپل‌ها Tuples

  • مقدمه‌ای بر تاپل‌ها Intro to Tuples

  • پاسخ تمرین کدنویسی: تعریف تاپل‌ها Coding Exercise SOLUTION: Declare Tuples

  • مقایسه لیست‌ها و تاپل‌ها Lists vs. Tuples

  • آنپک کردن تاپل بخش اول: مبانی Unpacking a Tuple I: The Basics

  • آنپک کردن تاپل بخش دوم: استفاده از * برای ساختارشکنی چندین عضو Unpacking a Tuple II: Using * to Destructure Multiple Elements

  • پاسخ تمرین کدنویسی: آنپک کردن تاپل Coding Exercise SOLUTION: Unpacking a Tuple

  • تعداد متغیر آرگومان‌های تابع با *args Variable Number of Function Arguments with *args

  • آنپک کردن آرگومان‌ها برای توابع Unpacking Arguments to Functions

اشیاء و ارجاعات Objects and References

  • متغیرها، اشیاء و مدیریت حافظه (Garbage Collection) Variables, Objects, and Garbage Collection

  • ارجاعات مشترک در انواع تغییرپذیر و تغییرناپذیر Shared References with Immutable and Mutable Types

  • تساوی در مقابل هویت (Equality vs Identity) Equality vs. Identity

  • کپی‌های سطحی و عمیق (Shallow and Deep Copies) Shallow and Deep Copies

دیکشنری‌ها: مبانی Dictionaries: The Basics

  • مقدمه‌ای بر دیکشنری‌ها Intro to Dictionaries

  • پاسخ تمرین کدنویسی: ایجاد یک دیکشنری Coding Exercise SOLUTION: Create a Dictionary

  • دسترسی به مقدار دیکشنری از طریق کلید یا متد get Access a Dictionary Value by Key or the get Method

  • عملگرهای in و not in در دیکشنری The in and not in Operators on a Dictionary

  • افزودن یا تغییر جفت کلید-مقدار در دیکشنری Add or Modify Key-Value Pair in Dictionary

  • متد setdefault The setdefault Method

  • پاسخ تمرین کدنویسی: تبدیل لیست به دیکشنری Coding Exercise SOLUTION: Dictionaries from Lists

  • متد pop The pop Method

  • پاسخ تمرین کدنویسی: بررسی وجود و حذف Coding Exercise SOLUTION: Inclusion and Removal

  • متد clear The clear Method

  • متد update The update Method

  • تابع dict The dict Function

  • دیکشنری‌های تو در تو Nested Dictionaries

دیکشنری‌ها: تکرار (Iteration) Dictionaries: Iteration

  • تکرار روی دیکشنری با حلقه for Iterate over a Dictionary with a for Loop

  • متد items The items Method

  • پاسخ تمرین کدنویسی: متد items Coding Exercise SOLUTION: The items Method

  • متدهای keys و values The keys and values Methods

  • پاسخ تمرین کدنویسی: متدهای keys و values Coding Exercise SOLUTION: The keys and values Methods

  • تابع sorted The sorted Function

  • لیستی از دیکشنری‌ها Lists of Dictionaries

  • پاسخ تمرین کدنویسی: ساختارهای داده تو در تو Coding Exercise SOLUTION: Nested Data Structures

  • آرگومان‌های کلیدواژه‌ای (**kwargs) Keyword Arguments (**kwargs)

  • آنپک کردن دیکشنری آرگومان‌ها Unpacking Argument Dictionary

  • پاسخ تمرین کدنویسی: آرگومان‌های کلیدواژه‌ای Coding Exercise SOLUTION: Keyword Arguments

  • دیکشنری‌های جامع (Dictionary Comprehensions) بخش اول Dictionary Comprehensions I

  • دیکشنری‌های جامع بخش دوم Dictionary Comprehensions II

  • پاسخ تمرین کدنویسی: دیکشنری‌های جامع Coding Exercise SOLUTION: Dictionary Comprehensions

مجموعه‌ها (Sets) Sets

  • مقدمه‌ای بر مجموعه‌ها (Sets) Intro to Sets

  • تابع set The set Function

  • پاسخ تمرین کدنویسی: مبانی مجموعه Coding Exercise SOLUTION: Set Basics

  • متدهای add و update The add and update Methods

  • متدهای remove و discard The remove and discard Methods

  • متد intersection برای شناسایی اعضای مشترک بین مجموعه‌ها The intersection Method to Identify Common Elements between Sets

  • متد union برای ترکیب اعضای دو مجموعه The union Method to Combine Elements from Two Sets

  • متد difference برای شناسایی اعضای منحصربه‌فرد در یک مجموعه The difference Method to Identify Unique Elements in One Set

  • متد symmetric_difference برای شناسایی اعضایی که مشترک نیستند The symmetric_difference Method to Identify Elements Not in Common Between Two Sets

  • متدهای issubset و issuperset The issubset and issuperset Method

  • شیء frozenset The frozenset Object

ماژول‌ها Modules

  • اسکریپت‌ها، ماژول‌ها و کلیدواژه import Scripts, Modules, and the import Keyword

  • کتابخانه استاندارد پایتون (ماژول‌های string، math و this) The Python Standard Library (The string, math, and this Modules)

  • متغیر ویژه __name__ The __name__ Special Variable

  • نام‌های مستعار با کلیدواژه as Aliases with the as Keyword

  • وارد کردن ویژگی‌های خاص با سینتکس from Import Specific Attributes with the from Syntax

  • وارد کردن تمام ویژگی‌ها با سینتکس Import All Attributes with * Syntax

  • فایل __init__.py بخش اول The __init__.py File I

  • فایل __init__.py بخش دوم The __init__.py File II

خواندن و نوشتن در فایل‌ها Reading from and Writing to Files

  • خواندن فایل با تابع open و متد read Reading a File with the open Function and read Method

  • خواندن فایل خط به خط Read File Line by Line

  • نوشتن در فایل Write to a File

  • افزودن (Append) به فایل Append to a File

دکوراتورها Decorators

  • توابع مرتبه بالا بخش اول: توابع به عنوان آرگومان Higher Order Functions I: Functions as Arguments

  • پاسخ تمرین کدنویسی: توابع مرتبه بالا Coding Exercise SOLUTION: Higher Order Functions

  • توابع تو در تو (Nested Functions) Nested Functions

  • توابع مرتبه بالا بخش دوم: توابع به عنوان مقدار بازگشتی Higher Order Functions II: Functions as Return Values

  • پاسخ تمرین کدنویسی: توابع مرتبه بالا ۲ Coding Exercise SOLUTION: Higher Order Functions II

  • محدوده (Scope) بخش اول: متغیرهای سراسری در مقابل محلی Scope I: Global vs. Local Variables

  • محدوده بخش دوم: قانون LEGB Scope II: The LEGB Rule

  • محدوده بخش سوم: Closureها Scope III: Closures

  • کلیدواژه global The global Keyword

  • پاسخ تمرین کدنویسی: کلیدواژه global Coding Exercise SOLUTION: The global Keyword

  • کلیدواژه nonlocal The nonlocal Keyword

  • مقدمه‌ای بر دکوراتورها Intro to Decorators

  • آرگومان‌ها در توابع دکوراتور (*args و **kwargs) Arguments with Decorator Functions (*args and **kwargs)

  • مقادیر بازگشتی از توابع دکور شده Returned Values from Decorated Functions

  • دکوراتور functools.wraps The functools.wraps Decorator

  • مثال دکوراتور از کتابخانه Flask Decorator Example from Flask Library

کلاس‌ها: مبانی Classes: The Basics

  • مقدمه‌ای بر برنامه‌نویسی شی‌گرا (OOP) Intro to Object-Oriented Programming

  • تعریف کلاس و نمونه‌سازی (Instantiation) Class Definition and Instantiation

  • پاسخ تمرین کدنویسی: تعریف کلاس و نمونه‌سازی Coding Exercise SOLUTION: Class Definition and Instantiation

  • متد __init__ The __init__ Method

  • افزودن ویژگی‌ها به اشیاء Adding Attributes to Objects

  • تنظیم ویژگی‌های شیء در متد __init__ Setting Object Attributes in the __init__ Method

  • پاسخ تمرین کدنویسی: متد __init__ Coding Exercise SOLUTION: The __init__ Method

  • مقادیر پیش‌فرض برای ویژگی‌ها Default Values for Attributes

  • پاسخ تمرین کدنویسی: مقادیر پیش‌فرض Coding Exercise SOLUTION: Default Values for Attributes

کلاس‌ها: ویژگی‌ها و متدها Classes: Attributes and Methods

  • متدهای نمونه (Instance Methods) Instance Methods

  • پاسخ تمرین کدنویسی: متدهای نمونه Coding Exercise SOLUTION: Instance Methods

  • ویژگی‌ها و متدهای محافظت شده (کپسوله‌سازی) Protected Attributes and Methods (Encapsulation)

  • پاسخ تمرین کدنویسی: ویژگی‌های محافظت شده Coding Exercise SOLUTION: Protected Attributes

  • تعریف پراپرتی‌ها با متد property Define Properties with the property Method

  • تعریف پراپرتی‌ها با دکوراتورها (روش جایگزین) Define Properties with Decorators (Alternate Approach)

  • پاسخ تمرین کدنویسی: پراپرتی‌ها Coding Exercise SOLUTION: Properties

  • توابع getattr و setattr The getattr and setattr Functions

  • توابع hasattr و delattr The hasattr and deleteattr Functions

  • متدهای کلاس (Class Methods) Class Methods

  • پاسخ تمرین کدنویسی: متدهای کلاس Coding Exercise SOLUTION: Class Methods

  • ویژگی‌های کلاس Class Attributes

  • ترتیب جستجوی ویژگی‌ها Attribute Lookup Order

  • متدهای استاتیک (Static Methods) Static Methods

کلاس‌ها: متدهای جادویی Classes: Magic Methods

  • مقدمه‌ای بر متدهای جادویی Intro to Magic Methods

  • نمایش رشته‌ای با متدهای __str__ و __repr__ String Representation with the __str__and __repr__ Methods

  • بررسی تساوی با متد __eq__ Equality with the __eq__ Method

  • متدهای جادویی برای عملیات مقایسه‌ای Magic Methods for Comparison Operations

  • پاسخ تمرین کدنویسی: تساوی و نمایش رشته‌ای Coding Exercise SOLUTION: Equality and String Representation

  • داک‌استرینگ‌ها (Docstrings) Docstrings

  • پاسخ تمرین کدنویسی: داک‌استرینگ‌ها Coding Exercise SOLUTION: Docstrings

  • بررسی Truthiness با متد __bool__ Truthiness with the __bool__ Method

  • شیء namedtuple The namedtuple Object

  • پاسخ تمرین کدنویسی: namedtuple Coding Exercise SOLUTION: namedtuple

  • تعیین طول با متد __len__ Length with the __len__ Method

  • اندیس‌گذاری با متدهای __getitem__ و __setitem__ Indexing with the __getitem__and __setitem__ Methods

  • پاسخ تمرین کدنویسی: اندیس‌گذاری و تکرار سفارشی Coding Exercise SOLUTION: Custom Indexing and Iteration

  • متد __del__ The __del__ Method

  • پاسخ تمرین کدنویسی: متدهای جادویی Coding Exercise SOLUTION: Magic Methods

کلاس‌ها: ارث‌بری Classes: Inheritance

  • مقدمه‌ای بر ارث‌بری Intro to Inheritance

  • تعریف یک زیرکلاس (Subclass) Define a Subclass

  • پاسخ تمرین کدنویسی: تعریف زیرکلاس Coding Exercise SOLUTION: Define a Subclass

  • متدهای جدید در زیرکلاس‌ها New Methods on Subclasses

  • بازنویسی (Override) یک متد ارث‌بری شده در زیرکلاس Override an Inherited Method on a Subclass

  • پاسخ تمرین کدنویسی: بازنویسی متد در زیرکلاس Coding Exercise SOLUTION: Override a Method on Subclass

  • تابع super The super Function

  • پاسخ تمرین کدنویسی: تابع super Coding Exercise SOLUTION: The super Function

  • چندریختی (Polymorphism) بخش اول Polymorphism I

  • چندریختی بخش دوم Polymorphism II

  • پاسخ تمرین کدنویسی: چندریختی Coding Exercise SOLUTION: Polymorphism

  • Name Mangling برای حریم خصوصی Name Mangling for Privacy

  • ارث‌بری چندگانه ۱: ترتیب حل متد (MRO) Multiple Inheritance I: Method Resolution Order

  • ارث‌بری چندگانه ۲: جستجوی عرض اول و عمق اول Multiple Inheritance II: Breadth First Search and Depth First Search

  • ارث‌بری چندگانه ۳: ارث‌بری لوزی Multiple Inheritance III: Diamond-Shaped Inheritance

  • توابع isinstance و issubclass The isinstance Function and issubclass Function

  • ترکیب (Composition) Composition

مدیریت استثناها (Exception Handling) Exception Handling

  • مقدمه‌ای بر مدیریت خطا Introduction to Error Handling

  • بلاک try except The try-except Block

  • گرفتن یک یا چند استثنای خاص Catching One or More Specific Exceptions

  • کلیدواژه raise The raise Keyword

  • استثناهای تعریف شده توسط کاربر User-Defined Exceptions

  • سلسله‌مراتب ارث‌بری استثناها Exception Inheritance Hierarchies

  • بلاک‌های else و finally The else and finally Blocks

تاریخ و زمان Dates and Time

  • شیء date The date Object

  • شیء time The time Object

  • پاسخ تمرین کدنویسی: اشیاء date و time Coding Exercise SOLUTION: date and time Objects

  • شیء datetime بخش اول The datetime Object I

  • شیء datetime بخش دوم: متد strftime The datetime Object II: The strftime Method

  • پاسخ تمرین کدنویسی: شیء datetime Coding Exercise SOLUTION: The datetime Object

  • شیء timedelta The timedelta Object

ماژول random The random Module

  • توابع random، randint و randrange The random, randint, and randrange Functions

  • توابع choice و sample The choice and sample Functions

  • تابع shuffle The shuffle Function

تست کد: مبانی Testing Code: The Basics

  • مقدمه‌ای بر تست واحد (Unit Testing) Introduction to Unit Testing

  • دستور assert The assert Statement

  • ماژول doctest The doctest Module

  • ماژول unittest The unittest Module

  • متد assertEqual The assertEqual Method

  • هدف از تست کردن The Purpose of Testing

  • نادیده گرفتن تست‌ها و خطاهای مورد انتظار Skipping Tests and Expected Failures

  • تأییدها: assertNotEqual و پیام‌های خطای سفارشی Assertions - assertNotEqual and Custom Error Messages

  • تأییدها: تست هویت شیء با assertIs و assertIsNot Assertions - Test Object Identity with assertIs and assertIsNot

  • تأییدها: تست Truthiness و Falsiness Assertions - Test Truthiness and Falsiness (assertTrue and assertFalse)

  • تأییدها: تست تهی بودن (assertIsNone و assertIsNotNone) Assertions - Test Nullness (assertIsNone and assertIsNotNone)

  • تأییدها: تست وجود با assertIn و assertNotIn Assertions - Test Inclusion with assertIn and assertNotIn

  • تأییدها: تست نوع شیء (assertIsInstance و assertNotIsInstance) Assertions - Test Object Type (assertIsInstance and assertNotIsInstance)

  • تأییدها: تست خطاها با assertRaises Assertions - Test Errors with assertRaises

  • متدهای setUp و tearDown The setUp and tearDown Methods

  • متدهای setUpClass و tearDownClass The setUpClass and tearDownClass Methods

تست کد: موک کردن (Mocking) Testing Code: Mocking

  • مقدمه‌ای بر موک کردن با کلاس Mock Intro to Mocking with the Mock Class

  • ویژگی return_value The return_value Attribute

  • ویژگی side_effect The side_effect Attribute

  • پاسخ تمرین کدنویسی: ایجاد موک‌ها Coding Exercise SOLUTION: Creating Mocks

  • مقایسه اشیاء Mock و MagicMock The Mock vs. MagicMock Objects

  • فراخوانی‌های Mock Mock Calls

  • جمع‌بندی کلی Putting It All Together

  • تأیید دوبل‌ها (Verifying Doubles) Verifying Doubles

  • پچ بخش اول: تابع patch Patch I: The patch Function

  • پچ بخش دوم: دکوراتور @patch Patch II: The @patch Decorator

  • پچ بخش سوم: patch چه چیزی را پچ می‌کند Patch III: What patch Patches

پروژه: پوکر تگزاس هولدم PROJECT: Texas Hold'em Poker

  • معرفی بخش و قوانین پوکر Introduction to the Section + The Rules of Poker

  • توسعه تست-محور (TDD) Test-Driven Development (TDD)

  • راه‌اندازی پروژه Setting Up Our Project

  • کلاس Card بخش اول: افزودن ویژگی‌های اولیه The Card Class I: Adding Initial Attributes

  • کلاس Card بخش دوم: نمایش رشته‌ای و نمایش فنی The Card Class II: String Representation and Technical Representation

  • کلاس Card بخش سوم: افزودن تمام رتبه‌ها و خال‌ها The Card Class III: Adding All Ranks and Suits

  • ساخت فایل شروع main.py Building Out the main.py Start File

  • کلاس Deck بخش اول: ذخیره و افزودن کارت‌ها The Deck Class I: Storing and Adding Cards

  • کلاس Card بخش چهارم: ایجاد ۵۲ کارت The Card Class IV: Creating 52 Cards

  • کلاس Hand بخش اول: رتبه High Card The Hand Class I: The High Card Rank

  • کلاس Hand بخش دوم: رتبه Pair (یک جفت) The Hand Class II: The Pair Rank

  • کلاس Hand بخش سوم: رتبه Two Pair (دو جفت) The Hand Class III: The Two Pair Rank

  • کلاس Hand بخش چهارم: رتبه Three of a Kind (سه تایی) The Hand Class IV: The Three of a Kind Rank

  • کلاس Hand بخش پنجم: بازسازی کد (Refactoring) The Hand Class V: Refactoring

  • کلاس Hand بخش ششم: رتبه Straight (ردیف) - بخش ۱ The Hand Class VI: The Straight Rank (Part 1)

  • کلاس Hand بخش هفتم: رتبه Straight (ردیف) - بخش ۲ The Hand Class VII: The Straight Rank (Part 2)

  • کلاس Hand بخش هشتم: رتبه Flush (هم‌خال) The Hand Class VIII: The Flush Rank

  • کلاس Hand بخش نهم: رتبه Full House (خانه کامل) The Hand Class IX: The Full House Rank

  • کلاس Hand بخش دهم: رتبه Four of a Kind (چهار تایی) The Hand Class X: The Four of a Kind Rank

  • کلاس Hand بخش یازدهم: رتبه Straight Flush (ردیف هم‌خال) The Hand Class XI: The Straight Flush Rank

  • کلاس Hand بخش دوازدهم: رتبه Royal Flush (رویال فلاش) The Hand Class XII: The Royal Flush Rank

  • تزریق وابستگی (Dependency Injection) Dependency Injection

  • کلاس Player بخش اول: ایجاد بازیکن با یک دست کارت The Player Class I: Creating a Player with a Hand

  • رفع دو باگ Catching Two Bugs

  • کلاس GameRound بخش اول: نمونه‌سازی و بُر زدن کارت‌ها The GameRound Class I: Instantiation and Card Shuffle

  • کلاس Deck بخش دوم: حذف کارت‌ها The Deck Class II: Removing Cards

  • کلاس GameRound بخش دوم: درخواست کارت از دسته کارت‌ها The GameRound Class II: Asking the Deck for Cards

  • گسترش کلاس‌های Player و Hand برای افزودن کارت‌های جدید Expanding Player and Hand Classes to Add New Cards

  • کلاس GameRound بخش سوم: ارسال کارت‌ها به بازیکنان The GameRound Class III: Sending Cards to the Players

  • تست دستی و افزودن نمایش فنی دست و طول دسته کارت Manual Testing + Adding Hand Technical Representation and Deck Length

  • پیاده‌سازی شرط‌بندی نمایشی در کلاس‌های Player و GameRound Implementing Fake Betting in the Player and GameRound Classes

  • کارت‌های مشترک در کلاس‌های Hand، Player و GameRound Community Cards in Hand, Player, and GameRound Classes

  • کلاس GameRound بخش چهارم: تکمیل منطق کارت‌های مشترک The GameRound Class IV: Finishing Up Community Cards Logic

  • اجرای مجدد کد Running the Code Again

  • کلاس HighCardValidator The HighCardValidator Class

  • کلاس NoCardsValidator The NoCardsValidator Class

  • کلاس PairValidator The PairValidator Class

  • کلاس TwoPairValidator The TwoPairValidator Class

  • بازسازی ولیدیتورهای موجود Refactoring the Existing Validators

  • کلاس ThreeOfAKindValidator The ThreeOfAKindValidator Class

  • کلاس StraightValidator بخش اول The StraightValidator Class I

  • کلاس StraightValidator بخش دوم The StraightValidator Class II

  • کلاس FlushValidator The FlushValidator Class

  • کلاس FullHouseValidator The FullHouseValidator Class

  • کلاس FourOfAKindValidator The FourOfAKindValidator Class

  • کلاس StraightFlushValidator بخش اول The StraightFlushValidator Class I

  • کلاس StraightFlushValidator بخش دوم The StraightFlushValidator Class II

  • کلاس RoyalFlushValidator The RoyalFlushValidator Class

  • بازسازی کلاس Hand Refactoring the Hand Class

  • محاسبه برنده Calculating the Winner

عبارات منظم (RegEx) Regular Expressions (RegEx)

  • جستجوی متن با شیء Pattern Search for Text with a Pattern Object

  • جستجوی متن در ابتدای رشته با متد match Search for Text at Beginning of String with match Method

  • متدهای findall و finditer The findall and finditer Methods

  • توابع RegEx در سطح ماژول Module Level RegEx Functions

  • مرور رشته‌های خام (Raw Strings) Review of Raw Strings

  • جستجوی کاراکترهای عدد و غیرعدد Search for Digit and Non-Digit Characters

  • جستجوی کاراکترهای کلمه و غیرکلمه Search for Word and Non-Word Characters

  • جستجوی فضای خالی و غیرفضای خالی Search for Whitespace and Non-Whitespace Characters

  • جستجوی مرزهای کلمه Search for Word Boundaries

  • متاکاراکترها: نقطه (.) Metacharacters: The Dot

  • متاکاراکترها: کروشه با کاراکترها Metacharacters: Square Brackets with Characters

  • تعیین تعداد تطبیق‌ها با آکولاد بخش اول Declare Number of Matches with Curly Braces I

  • تعیین تعداد تطبیق‌ها با آکولاد بخش دوم Declare Number of Matches with Curly Braces II

  • جستجو برای یک یا چند کاراکتر Search for One or More of a Character

  • تطبیق یک کاراکتر یا کاراکتر دیگر Matching One Character or Another

محیط‌های مجازی (Virtual Environments) Virtual Environments

  • مقدمه‌ای بر PyPi و پکیج‌های پایتون Introduction to PyPi and Python Packages

  • مقدمه‌ای بر pip و محیط‌های مجازی Introduction to pip and Virtual Environments

  • macOS: ایجاد، فعال‌سازی و غیرفعال‌سازی محیط مجازی macOS - Create, Activate, and Deactivate Virtual Environment

  • Windows: ایجاد، فعال‌سازی و غیرفعال‌سازی محیط مجازی Windows - Create, Activate, and Deactivate Virtual Environment

  • نصب پکیج‌های پایتون با pip3 Install Python Packages with pip3

  • لغو نصب پکیج‌های پایتون با pip Uninstall Python Packages with pip

  • نصب نسخه خاصی از پکیج یا ارتقای پکیج Install Specific Version of Package or Upgrade Package

  • ایجاد فایل requirements.txt Create requirements.txt File

وب اسکرپینگ با Scrapy Web Scraping with Scrapy

  • مقدمه‌ای بر وب اسکرپینگ و نصب Scrapy Intro to Web Scraping and Installing Scrapy

  • ایجاد پروژه Scrapy Create Scrapy Project

  • نوشتن اولین اسپایدر Scrapy Write First Scrapy Spider

  • یک بازسازی کوچک A Small Refactor

  • مقدمه‌ای سریع بر HTML و CSS A Quick Introduction to HTML and CSS

  • شل Scrapy (Scrapy Shell) The Scrapy Shell

  • نوشتن در فایل JSON Writing to JSON File

  • چالش: افزودن قیمت کتاب‌ها به فایل CHALLENGE: Add Book Prices to File

  • استخراج داده از صفحات متوالی Scraping Sequential Pages

جمع‌بندی Conclusion

  • تبریکات Congratulations

نمایش نظرات

آموزش جامع برنامه نویسی پایتون [ویدئویی]
جزییات دوره
57h 0m
407
Packtpub Packtpub
(آخرین آپدیت)
از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Boris Paskhaver Boris Paskhaver

مهندس نرم افزار | مشاور | نویسنده سلام من یک مهندس ، نویسنده و مشاور نرم افزار ساکن شهر نیویورک هستم که از سال 2016 در Udemy تدریس می کنم. من مانند بسیاری از همتایانم رویکرد متعارفی را برای نقش فعلی خود به عنوان یک توسعه دهنده وب دنبال نکردم. پس از فارغ التحصیلی از دانشگاه نیویورک در سال 2013 در رشته اقتصاد بازاریابی و بازاریابی ، من به عنوان تحلیلگر بازرگانی ، مدیر سیستم ها و تحلیلگر داده در شرکت های مختلف از جمله آژانس بازاریابی دیجیتال ، یک شرکت خدمات مالی و یک فناوری بین المللی کار کردم. نیروگاه در یکی از آن نقش ها ، من آنقدر خوش شانس بودم که برای ساخت چندین پروژه با پایتون و جاوا اسکریپت به چالش کشیده شدم. هیچ آموزش رسمی علوم کامپیوتر برای من وجود نداشت. من کاملاً تصادفی کدگذاری را کشف کردم. یک علاقه کاری کوچک به سرعت به یک سرگرمی پرشور آخر هفته تبدیل شد. سرانجام ، من نقش سابق خود را برای اتمام برنامه آکادمی ، یک بوتکمپ سخت افزاری توسعه وب در NYC ، ترک کردم. بقیه تاریخ است. من همیشه مجذوب تقاطع فناوری و آموزش بوده ام ، خصوصاً اینکه با بسیاری از منابع سنتی که مردم برای یادگیری نحوه برنامه نویسی از آنها استفاده می کنند دست و پنجه نرم می کردم. که جزئیات پیچیده را به قطعات کوچک و قابل هضم تقسیم می کند. من دوست دارم بسازم.